package com.kaifamiao.demo.d0729.pm;

public class Demo01 {

    public static void main(String[] args) {
//        Sup sup = new Sup();
//
//        sup.instanceMethod();
//        sup.staticMethod();

//        Sub sub = new Sub();
//
//        sub.instanceMethod();
//        sub.staticMethod();

        // 隐藏
        // 创建一个 子类对象，赋值给 父类变量
        Sup sup = new Sub();

         /*
         父类变量引用子类对象时
            调用实例方法，执行子类中的方法
            调用static方法，执行父类中的方法
          执行static方法看等号左边（变量的类型）
          执行实例方法看等号右边（对象的类型）
         */
        sup.instanceMethod(); // sub
        sup.staticMethod(); // sup

        /*
            父类变量引用子类对象时
             调用变量时，调用的是父类的字段
         */
        System.out.println(sup.a);
        System.out.println(sup.b);



    }
}
